
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
														课程大纲		
1.从12课开始正式讲解数据结构，前面课程是学该门课程的必备基础
2.★14课正式讲解——链表
3.第27课——如何学习算法自己的一些感想     很不错！！ 
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

					
模块一：线性结构
		
		连续存储[数组]
		1.	数组：元素类型相同，大小相等
		2.	数组优缺点：（相对于链表）
		
		
		离散存储[链表]
		1.定义：
				头结点数据类型和首节点数据类型一样。
				
				n个节点离散分配
				彼此通过指针相连
				每个节点只有一个前驱节点和后续节点
				首节点没有前驱节点，尾节点没有后续节点
				
				首节点：第一个有效节点（注意区别于头结点）。
				尾节点：最后一个有效节点。
				头结点：为了方便对链表的操作而指向链表首节点的指针。只是为了方便操作，无其它意义，并不包含链表有效节点个数等信息。
				头指针：指向头结点的指针变量（注意区别首指针）
				尾指针：	指向尾节点的指针变量
				
		2.分类：
		
			单链表
			双链表：每个节点有两个指针域；
		
			循环链表：能通过任何一个节点找到其他所有节点。
			非循环链表
			
			
		3.算法：
			遍历
			清空
			查找
			销毁
			求长度
			排序
			删除节点
			插入节点
			
			算法：
				狭义的算法是与数据的存储方式密切相关
				广义的算法与数据的存储无关
				
			泛型：
				利用某种技术达到的效果：不同的存储方式，达到的效果是一样的。
			
		
		线性结构的两种常见应用：栈和队列
		
		专题：递归
			定义：函数自己调用自己（直接或间接）
			1.1+2+3+4+...+100
			2.求阶乘
			3.汉诺塔
			4.走迷宫
			
			
模块二：非线性结构

		树
		
		图
		
		
		
模块三：
		查找和排序
		
			折半查找
			
		排序：
			冒泡
			插入
			选择
			快速排序
			归并排序
